home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 4 / Apprentice-Release4.iso / Utilities / Programming / Mac F2C 1.2.2 / Mac F2C v1.2.2 READ ME next >
Encoding:
Text File  |  1995-08-17  |  21.0 KB  |  456 lines  |  [TEXT/ttxt]

  1. ************************************************************
  2. ************************************************************
  3.  
  4.   Mac F2C  --  A FORTRAN-to-C translator for the Macintosh
  5.  
  6. ************************************************************
  7. ************************************************************
  8.  
  9. f2c kernel ©1989-1995 AT&T Bell Laboratories and Bellcore
  10. Macintosh Interface ©1994-1995 Igor Mikolic-Torreira
  11.  
  12. This software is freeware: it may be used and copied freely so long 
  13. as the copyright notices and associated documentation remain attached.
  14.  
  15.  
  16.  
  17. CONTENTS
  18. *************************************************************
  19.  
  20.     A.  WHAT IS Mac F2C
  21.     
  22.     B.  WHAT IS NEW IN VERSION 1.2.2
  23.     
  24.     C.  WHAT IS INCLUDED AND HOW IS IT ORGANIZED
  25.     
  26.     D.  WHERE DO I GO FROM HERE
  27.          
  28.     E.  CONTACTING THE AUTHOR 
  29.     
  30.     F.  CREDITS
  31.     
  32.     G.  LICENSE AND OTHER ANNOYING LEGAL STUFF
  33.  
  34.  
  35.  
  36.  
  37. A.  WHAT IS Mac F2C
  38. *************************************************************
  39.  
  40. Mac F2C is a FORTRAN-to-C translator.  It will read a file of FORTRAN 
  41. code and produce a file of C code.  When compiled and linked with the 
  42. special support libraries included with Mac F2C, this C code will work 
  43. just like the original FORTRAN code.
  44.  
  45. Mac F2C is the Macintosh port of the UNIX program f2c developed at AT&T.  
  46. AT&T permits the use of the f2c source code for non-profit purposes.  You 
  47. can get a copy of the f2c source code at netlib.att.com
  48.  
  49. The minimum requirements to run Mac F2C are:
  50.  
  51.     (1) A 68020 or better
  52.  
  53.     (2) System 7.0 or later
  54.  
  55.     (3) At least 1 MB of available RAM (2 MB is preferred)
  56.     
  57.  
  58.  
  59.  
  60. B.  WHAT IS NEW IN VERSION 1.2.2
  61. *************************************************************
  62.  
  63. Changes from v1.2
  64. -----------------
  65.  
  66. Version 1.2.2 is a minor update to v1.2 which adds:
  67.     
  68.     - Support for CodeWarrior v1.3.
  69.      
  70.     - Support for the new Symantec C/C++ (v8) for PPC code 
  71.       generation (also in v1.2.1).
  72.       
  73.     - Support for the version of THINK C/C++ (68K code generation)
  74.       that is distributed with Symantec C/C++ v8 (also in v1.2.1).
  75.       
  76.     - An MPW hosted version of f2c and support for MPW PPC code 
  77.       generation (courtesy of Kris L. Jorgensen). 
  78.       
  79.     - Guidance for making F2C-generated code multi-task cooperatively 
  80.       (courtesy of Mel Martinez).
  81.  
  82. Version 1.2.2 is not yet able to automatically trigger Symantec C/C++ or 
  83. CodeWarrior v1.3 compiles when it finishes translations.  This feature is 
  84. forthcoming in a future version of Mac F2C.  Version 1.2.2 does correctly 
  85. trigger THINK C/C++ compiles and CodeWarrior v1.2 68K/PPC (CW6) compiles.
  86.  
  87.       
  88. USERS UPGRADING FROM PRIOR VERSIONS:  You need to re-install ALL libraries 
  89. and project files, including main.c and f2c.h.  There have been subtle 
  90. changes in source code to accomodate Symantec v8 (both PPC code generation 
  91. and changes in THINK libraries and headers in the version of THINK that 
  92. comes with Symantec v8).  See the more detailed instructions provided in 
  93. the documentation folder for further information.
  94.  
  95.       
  96.  
  97. C.  WHAT IS INCLUDED AND HOW IS IT ORGANIZED
  98. *************************************************************
  99.  
  100. The Mac F2C 1.2.2 distribution set contains the following items:
  101.  
  102. (1) "Mac F2C v1.2.2 READ ME" -- This Read Me message.
  103.  
  104. (2) "Mac F2C" -- the FORTRAN-to-C translator application, version 1.2.  
  105.     This is a fat binary containing both 68K and PowerPC native code.
  106.  
  107. (3) "Mac F2C Documentation" -- a folder containing all relevant 
  108.     documentation for Mac F2C.  This folder contains:
  109.     
  110.       - "INSTRUCTIONS (Symantec)"  -- instructions for using Mac F2C 
  111.          with Symantec products: Symantec C/C++ (for PPC) and 
  112.          THINK C/C++ (for 68K).
  113.  
  114.       - "INSTRUCTIONS (CodeWarrior)" -- instructions for using Mac F2C
  115.          with Metrowerk's CodeWarrior C compiler.
  116.  
  117.       - "AT&T Report 149.ps" -- a postscript file containing the AT&T
  118.          report that serves as a compiler manual for Mac F2C.
  119.  
  120.       - "Mac F2C AppleEvents" -- a folder containing detailed information 
  121.          on how to drive Mac F2C using AppleEvents.
  122.  
  123.       - "Mac F2C & UNIX f2c" -- information on interchanging C code 
  124.          produced by Mac F2C on the Macintosh and the original f2c 
  125.          program on a UNIX machine.
  126.  
  127.       - "Mac F2C Known Bugs" -- summary of known bugs and suggestions
  128.          for working around them.
  129.  
  130.       - "When Mac F2C code won't work…" -- Things to check whenever the
  131.          code produced by Mac F2C doesn't run correctly.
  132.          
  133.       - "Cooperative Multitasking Mods" -- Mel Martinez's instructions 
  134.          for making F2C-generated code multitask cooperatively with other 
  135.          Macintosh applications. 
  136.          
  137.       - "If Floats Don't Display Right" -- a folder discussing a common 
  138.          bug in float-to-ASCII conversion routines (including those 
  139.          provided in Symantec's and Metrowerks' C and C++ libraries).  
  140.          It includes some code you might be able to use to fix the 
  141.          problem.
  142.     
  143.       - "For THINK v6 and Earlier Users" -- instructions for setting up 
  144.          Mac F2C to work with earlier versions of Symantec's THINK 
  145.          compiler.  All the THINK project files included in this 
  146.          distribution have been made using THINK C version 7.0.4.  This 
  147.          file provides guidance on how to create equivalent project 
  148.          files using earlier versions of THINK C.  This file also has
  149.          information and guidance for setting up Mac F2C to work with
  150.          other compilers.
  151.  
  152. (4) "Mac F2C Libraries" -- a folder containing the libraries required to 
  153.     support programs translated by F2C.  The libF77 library provides 
  154.     floating-point support; the libI77 library provides integer and I/O
  155.     support.  Symantec, THINK, and CodeWarrior project and library files 
  156.     are provided, along with all the source code.  These need to be built 
  157.     and installed in the right places.  Please read the appropriate 
  158.     version of the INSTRUCTIONS file for a detailed, step-by-step 
  159.     description of what to do with these files.
  160.     
  161. (5) "Test Project ƒ" --  a folder containing a test FORTRAN program and 
  162.     the C output produced by Mac F2C.  It also contains complete Symantec, 
  163.     THINK and CodeWarrior projects to compile and run the test program.  
  164.     See the appropriate version of the INSTRUCTIONS file for a detailed 
  165.     description of how to use the contents of this folder to verify 
  166.     correct operation of Mac F2C.
  167.  
  168. (6) "Symantec/THINK Support" -- a folder containing items specifically
  169.     required to use Mac F2C with Symantec C/C++ (PPC) and THINK C/C++ 
  170.     (68K) compilers.  This folder contains the following items:
  171.     
  172.       - "SPM Support" -- a folder containing support for the Symantec
  173.         Project Manager (abbreviated SPM).  It contains the following:
  174.         
  175.          + "For '(Project Models)'" -- a folder containing model SPM C 
  176.            and C++ projects for using code generated by Mac F2C.  Please 
  177.            refer to the file "INSTRUCTIONS (Symantec)" for detailed 
  178.            information on how to use the contents of this folder.
  179.            
  180.          + "Build F2C Libs for SPM" -- an executable AppleScript for 
  181.            bringing all the SPM versions of the Mac F2C support 
  182.            libraries up to date.  Please refer to the file  
  183.            "INSTRUCTIONS (Symantec)" for detailed information on how 
  184.            to use this script.
  185.            
  186.       - "TPM Support" -- a folder containing support for the THINK 
  187.         Project Manager (abbreviated TPM).  It contains the following:
  188.         
  189.          + "For '(Project Models)'" -- a folder containing model TPM C 
  190.            and C++ projects for using code generated by Mac F2C.  Please 
  191.            refer to the file "INSTRUCTIONS (Symantec)" for detailed 
  192.            information on how to use the contents of this folder.
  193.            
  194.          + "For plain THINK v7" -- a folder containing support for 
  195.            versions of THINK v7 that were either purchased as THINK v7
  196.            or upgraded to (or beyond) v7 using the free on-line upgrades.
  197.            It contains the following:
  198.            
  199.             = "For 'Standard Libraries'" -- a folder containing versions 
  200.               of the ANSI, unix, IOStreams, and CPlusLib project files 
  201.               distributed with THINK v7 that have been modified to work 
  202.               with Mac F2C output.  These libraries should be placed in 
  203.               the TPM Standard Libraries folder and brought up to date.  
  204.               Please refer to the file "INSTRUCTIONS (Symantec)" for 
  205.               detailed information.
  206.  
  207.             = "Build F2C Libs for THINK" -- an executable AppleScript 
  208.               for bringing all the THINK v7 versions of the Mac F2C 
  209.               support libraries up to date.  Please refer to the file  
  210.               "INSTRUCTIONS (Symantec)" for detailed information on how 
  211.               to use this script.
  212.   
  213.          + "For THINK v7 shipped with Sym 8" -- a folder containing
  214.            support for the version of THINK v7 that is distributed as
  215.            part of the Symantec C/C++ v8 package.  It contains the 
  216.            following:
  217.  
  218.             = "For 'Standard Libraries'" -- a folder containing versions 
  219.               of the ANSI, unix, IOStreams, and CPlusLib project files 
  220.               distributed with THINK v7 on the Symantec v8 CD that have 
  221.               been modified to work with Mac F2C output.  These libraries 
  222.               should be placed in the TPM Standard Libraries folder and 
  223.               brought up to date.  Please refer to the file 
  224.               "INSTRUCTIONS (Symantec)" for detailed information.
  225.               
  226.             = "For folder containing TPM" -- a folder containing two 
  227.               THINK projects used to build appropriate versions of the 
  228.               precompiled headers.  These need to be placed in the 
  229.               folder which contains the TPM.  Please refer to the file 
  230.               "INSTRUCTIONS (Symantec)" for detailed information.
  231.  
  232.             = "Build F2C Libs for TPM" -- an executable AppleScript 
  233.               for bringing all the THINK v7 (from Symantec v8) versions 
  234.               of the Mac F2C support libraries up to date.  Please refer 
  235.               to the file "INSTRUCTIONS (Symantec)" for detailed 
  236.               information on how to use this script.
  237.       
  238. (7) "CodeWarrior Support" -- a folder containing items specifically 
  239.     required to use Mac F2C with Metrowerk's CodeWarrior C/C++ compiler.  
  240.     This folder contains the following items:
  241.     
  242.       - "For '(Project Stationary)'" -- a folder containing four CodeWarrior 
  243.         project stationary files for using C and C++ code generated by Mac 
  244.         F2C.  Two files are for producing 68K code, the other two for PPC 
  245.         code. Please refer to the file "INSTRUCTIONS (CodeWarrior)" for 
  246.         detailed information on how to use the contents of this folder.
  247.  
  248.       - "For 'Metrowerks C/C++ ƒ'" -- a folder containing the files 
  249.         "main.c" and "f2c.h" which are required to run code translated by 
  250.         Mac F2C.  Please refer to the file "INSTRUCTIONS (CodeWarrior)" for 
  251.         detailed information on how to use the contents of this folder.
  252.         
  253.       - "F2C MPW/ToolServer Tools" -- a folder containing MPW/ToolServer 
  254.         tools for use with CodeWarrior.  Please refer to the files 
  255.         "ToolServer READ ME" and "MPW READ ME" contained in this folder 
  256.         for detailed information on how to use the contents of this folder.
  257.         
  258.       - "CW6 Project Files" -- a folder containing CodeWarrior v1.2 (CW6 
  259.         CD) project files for users that are still using the earlier 
  260.         version of CodeWarrior.  
  261.  
  262. (8) "MPW Support" -- a folder containing F2C for MPW as developed by Kris 
  263.     L. Jorgensen.  F2C for MPW is 68K/PPC native tool that will let you use 
  264.     F2C in conjunction with MPW.  It includes "FAT", PowerPC, and 68K versions
  265.     of the F2C tool.  You will need MPW 3.4 to run the PowerPC native versions.  
  266.     See the instructions included in this folder.
  267.            
  268.  
  269.     
  270.  
  271.          
  272. D.  WHERE DO I GO FROM HERE
  273. *************************************************************
  274.  
  275. The next step is to read the set-up and use instructions.  You should read 
  276. either "INSTRUCTIONS (Symantec)" or "INSTRUCTIONS (CodeWarrior)" depending 
  277. on which compiler you plan to use.  Mac F2C is _not_ ready to go out of the 
  278. box, so please read these instructions to see how to set up the support 
  279. libraries and use the C code produced by Mac F2C.  I also strongly 
  280. recommend using the included test program to verify correct operation of 
  281. Mac F2C and the support libraries.  Again, information on how to do this is 
  282. provided in the two INSTRUCTIONS files.
  283.  
  284. You should also read the more detailed documentation on the FORTRAN-to-C 
  285. compiler itself.  The document "AT&T Report 149.ps" is a PostScript file 
  286. which you can download to any PostScript printer.  It will produce a copy 
  287. of "AT&T Computing Science Technical Report No. 149." This report provides 
  288. very detailed documentation on f2c, the UNIX program which is the 
  289. translator at the core of Mac F2C.  Consider this report your compiler and 
  290. language reference manual.  I recommend all users print out and read this 
  291. report.
  292.         
  293. If you want to drive Mac F2C with AppleEvents, check out the folder "Mac 
  294. F2C Apple Events".  It contains detailed information on sending Apple 
  295. Events to Mac F2C.  It also includes some sample AppleScripts and header 
  296. files for use with your own code.
  297.  
  298. Additional useful information appears in the documents contained in the 
  299. folder "Mac F2C Documentation".  Before sending a bug report please glance 
  300. at "Mac F2C Known Bugs".  If you plan on moving code between a UNIX machine 
  301. and a Macintosh and/or will be mixing code translated by f2c on a UNIX 
  302. machine and Mac F2C on a Macintosh, please look at "Mac F2C & UNIX f2c".  
  303. If you have trouble getting the C code produced by Mac F2C to run 
  304. correctly, read "When Mac F2C code won't run…".  Finally, if floating point 
  305. values do not appear to round correctly when output, read the information 
  306. in the folder "If Floats Don't Display Right".
  307.         
  308.         
  309.  
  310. E.  CONTACTING THE AUTHOR
  311. *************************************************************
  312.  
  313. My name is Igor Mikolic-Torreira and I can be reached at 
  314. igormt@alumni.caltech.edu.  
  315.  
  316. If you find Mac F2C useful, please drop me a note.  If you really think it 
  317. is the most useful thing in the whole world and worth its weight in gold, 
  318. please donate that amount of gold to your favorite charity ;)
  319.  
  320. The latest version of Mac F2C (and betas of unreleased versions) can be 
  321. obtained at <ftp://alumni.caltech.edu/pub/Mac_F2C>.  A current bug list 
  322. (with work arounds) is also kept in this directory.
  323.  
  324. I have started to keep a mailing list which I will use to distribute Mac 
  325. F2C related information such as bug alerts, patches, and new versions.  If 
  326. you wish to be added to this mailing list, please send me an email 
  327. specifically requesting to be added to this list.  Also let me know if you 
  328. are interested in being a beta-tester for future versions of Mac F2C.
  329.  
  330. If you find any bugs or would like to request a particular feature, let me 
  331. know.  I will try to fix interface bugs or at least provide work-arounds 
  332. promptly.  I will forward compiler bugs to AT&T.  If you believe you have a 
  333. code generation bug, _please_ send me a sample of the FORTRAN code that 
  334. produces the problem together with the C output and your Symantec/THINK or 
  335. CodeWarrior project file(s).  If you can create a minimal example, that's 
  336. even better and you will earn my eternal gratitude.  Before sending me a 
  337. bug report, please read "Mac F2C Known Bugs" as Mac F2C has some problems 
  338. that I am quite aware of.  If your translated programs compile without 
  339. errors but don't run, take a look at the file "When Mac F2C Code Won't 
  340. Run…" for information on the most common problem with translated code and 
  341. how to fix it.
  342.  
  343. You can send comments and questions on any part of the Mac F2C package to 
  344. me.  I can provide CodeWarrior C/C++, Symantec C/C++, and THINK C/C++ 
  345. support.  However, Dirk Froehling (who contributed all of the CodeWarrior 
  346. support files used in this version of Mac F2C) has a lot more experience 
  347. with CodeWarrior than I do.  He has graciously allowed me to distribute his 
  348. email address.  You can send questions or comments on Mac F2C's CodeWarrior 
  349. support directly to him at dirk@gaga.maschinenbau.uni-dortmund.de.
  350.  
  351. The F2C for MPW package was put together by Kris L. Jorgensen whom you 
  352. can reach at kris@ecn.purdue.edu.  I've never used MPW (nor do I plan to) 
  353. so if you have any questions with F2C for MPW, please contact Kris (if 
  354. you send questions to me, I'll just forward them to him).
  355.  
  356.  
  357.  
  358. F.  CREDITS
  359. *************************************************************
  360.  
  361. A lot of people have contributed to Mac F2C, either knowingly or 
  362. unknowingly.  Many thanks to....
  363.  
  364. AT&T and Bellcore for developing f2c and allowing others to make use of the 
  365. source code.  Mac F2C v1.2 incorporates the f2c version of 13 Nov 1994.
  366.  
  367. Dirk Froehling of Germany for figuring out how to make the support 
  368. libraries compile under CodeWarrior and for providing CodeWarrior project 
  369. files and libraries.  All of the CodeWarrior support in v1.2 is due to Dirk 
  370. (I now have a copy of CodeWarrior, but Dirk's libraries are so good I 
  371. wouldn't dream of touching them).  Dirk also suggested many of the new 
  372. features -- including the interaction (via AppleEvents) with THINK and 
  373. CodeWarrior.  Additionally, because I don't have regular access to a 
  374. PowerPC, Dirk also did all the testing of the PPC native versions.  
  375. Needless to say, I could not have produced a PowerPC version without Dirk's 
  376. help.
  377.  
  378. Kris L. Jorgensen for putting together the F2C for MPW package and 
  379. allowing me to distribute it with Mac F2C.
  380.  
  381. Mel Martinez for figuring out how to inject cooperative multi-tasking 
  382. into code generated by Mac F2C.
  383.  
  384. Tom Emerson of Symantec and Greg Galanos of Metrowerks for providing copies 
  385. of their development systems and helping me integrate Mac F2C with them.  
  386. Special thanks to Tom for allowing me to plagarize some of his 
  387. AppleScripts.
  388.  
  389. Jens Alfke of Apple Computer for AEBuild and related AppleEvent utilities.  
  390. Mac F2C incorporates his AEGizmos v1.3.4 package (this includes AEBuild, 
  391. AEPrint and other goodies).  For anyone not familiar with AEBuild, it is by 
  392. far the easiest way to build AppleEvent object descriptors.  Hours of 
  393. frustration are replaced by a few lines of easy to understand code.  If you 
  394. don't have it, get it!
  395.  
  396. Jim Luther of Apple Macintosh Developer Technical Support for the 
  397. "MoreFiles" collection of FileManager Utilities.  Mac F2C incorporates 
  398. MoreFiles 1.2.1.  
  399.  
  400. Gary Woodcock of Apple Computer for the "StdPrefsLib" library of routines 
  401. to handle preferences and preference files.  Mac F2C incorporates version 
  402. 1.0 of the Standard Prefs Library (as distributed on the "develop 
  403. Bookmark" CD).
  404.  
  405. And last -- but certainly not least -- to my wife Beth for patiently 
  406. tolerating many late nights when I paid more attention to Mac F2C than I 
  407. did to her.
  408.  
  409.  
  410.  
  411. G.  LICENSE AND OTHER ANNOYING LEGAL STUFF
  412. *************************************************************
  413.  
  414. The compiler engine of Mac F2C is based on the unix version of f2c and is
  415. Copyright 1990-1995 by AT&T Bell Laboratories and Bellcore.
  416.  
  417. Permission to use, copy, modify, and distribute this software and its 
  418. documentation for any purpose and without fee is hereby granted, provided 
  419. that the above copyright notice appear in all copies and that both that the 
  420. copyright notice and this permission notice and warranty disclaimer appear 
  421. in supporting documentation, and that the names of AT&T Bell Laboratories 
  422. or Bellcore or any of their entities not be used in advertising or 
  423. publicity pertaining to distribution of the software without specific, 
  424. written prior permission.
  425.  
  426. AT&T and Bellcore disclaim all warranties with regard to this software, 
  427. including all implied warranties of merchantability and fitness.  In no 
  428. event shall AT&T or Bellcore be liable for any special, indirect or 
  429. consequential damages or any damages whatsoever resulting from loss of use, 
  430. data or profits, whether in an action of contract, negligence or other 
  431. tortious action, arising out of or in connection with the use or 
  432. performance of this software.
  433.  
  434.  
  435. The Macintosh interface portion of Mac F2C was written and is
  436. Copyright 1994-1995 by Igor Mikolic-Torreira.
  437.  
  438. Permission to use, copy, modify, and distribute this software and its 
  439. documentation for any purpose and without fee is hereby granted, provided 
  440. that the above copyright notice appear in all copies and that both that the 
  441. copyright notice and this permission notice and warranty disclaimer appear 
  442. in supporting documentation, and that the name of Igor Mikolic-Torreira not 
  443. be used in advertising or publicity pertaining to distribution of the 
  444. software without specific, written prior permission.
  445.  
  446. Igor Mikolic-Torreira disclaims all warranties with regard to this 
  447. software, including all implied warranties of merchantability and fitness.  
  448. In no event shall Igor Mikolic-Torreira be liable for any special, indirect 
  449. or consequential damages or any damages whatsoever resulting from loss of 
  450. use, data or profits, whether in an action of contract, negligence or other 
  451. tortious action, arising out of or in connection with the use or 
  452. performance of this software.
  453.  
  454.  
  455.  
  456.